package com.GraduationDesign.backend.data.user;

import com.GraduationDesign.backend.enums.UserType;
import com.GraduationDesign.backend.po.Review;
import com.GraduationDesign.backend.po.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author: wzx
 * @date: 2022/2/27
 */
@Mapper
@Repository
public interface AccountMapper {
    /**
     * 创建一个新的账号
     * @param user：用户信息
     */
    void createNewAccount(User user);

    /**
     * 删除用户
     * @param userId :用户id
     */
    void deleteUser(@Param("userId") int userId);

    /**
     * 根据用户名查找账号
     * @param email：邮箱号
     * @return User
     */
    User getAccountByEmail(@Param("email") String email);

    /**
     * 根据id查找账号
     * @param id：用户id
     * @return User
     */
    User getAccountById(@Param("id") int id);


    /**
     * 更新用户信息
     * @param id：id
     * @param password：密码
     * @param username：名字
     * @param phonenumber：电话
     */
    void updateAccount(@Param("id") int id, @Param("password") String password,@Param("userName") String username, @Param("phoneNumber") String phonenumber);

    /**
     * 获得用户类型
     * @param id 用户id
     * @return 用户类型
     */
    UserType getUserType(@Param("userId") int id);

    /**
     * 获取用户姓名
     * @param userId id
     * @return username
     */
    String getUserName(@Param("userId") Integer userId);





}
